package com.hakim.wfb.admin.enums;

/**
 *
 */
public enum ErrorCodeEnum {
    // 记得加注释 在上面分段

    //角色管理相关
    ROLE_NAME_EXISTS(1001, "角色名已存在"),
    ROLE_IN_USE(1002, "角色正在使用中，无法删除"),
    ROLE_UPDATE_FAILED(1003, "修改角色失败"),

    //用户管理相关
    USER_NAME_EXISTS(2001, "用户名重复"),
    USER_UPDATE_FAILED(2002, "更新用户信息失败"),

    //菜单管理相关
    MENU_NAME_EXISTS(3001, "同级下有同名菜单"),
    MENU_IN_USER(3002, "菜单项正在使用中，无法删除"),
    MENU_HAS_CHILD(3003, "菜单下有子项，无法删除"),
    MENU_PARENT_NOT_EXISTS(3004, "父菜单不存在"),

    //登录相关
    LOGIN_PASSWORD_NOT_MATCH(4001, "密码错误"),
    LOGIN_DUPLICATE_USERNAME(4002, "存在多个同用户名记录"),
    LOGIN_USER_NOT_EXISTS(4003, "用户名不存在"),
    LOGIN_USER_LOCKED(4004, "用户已被锁定，无法登录"),

    //Config相关
    CONFIG_IS_EXIST(5001, "参数已存在"),
    ATTRIBUTE_IS_NULL(5002, "属性不能为空"),
    URL_CONFIG_IS_NOT_EXISTS(5003, "无对应环境配置！"),
    DB_CONFIG_IS_EXISTS(5004, "数据库配置已存在！"),

    //Process相关
    PROCESS_NAME_IS_EXIST(6001, "流程名已存在"),
    INTERFACE_DATA_IS_EXIST(6002, "接口数据组别已存在"),
    INTERFACE_DATA_ERROR(6003, "接口数据不存在"),
    PROCESS_INFO_DELETE_ERROR(6004, "流程详细删除错误"),


    //Project相关
    PROJECT_IS_EXIST(7001, "项目已存在"),

    //GlobleVariable相关
    VARIABLE_IS_EXIST(8001, "变量已存在"),

    APPLICATION_IS_EXIST(9001, "应用已存在"),
    DATA_SOURCE_EXECUTE_ERROR(10001, "数据库执行失败"),

    PARAM_IS_EXIST(11001, "参数名已存在原始参数列表中"),;


    /**
     * 值
     */
    private int code;
    /**
     * 注释
     */
    private String message;

    private ErrorCodeEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public static ErrorCodeEnum getByCode(int code) {
        for (ErrorCodeEnum type : values()) {
            if (type.getCode() == (code)) {
                return type;
            }
        }
        return null;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
